import { ref, computed, onUnmounted } from 'vue';
import dayjs from 'dayjs';

export const useCountDown = () => {
	// 响应式的数据
	let timer = null;
	const time = ref(0);

	// 格式化时间 为 xx分xx秒
	const formatTime = computed(() => dayjs.unix(time.value).format('mm分ss秒'))

	// 定义一个计时器开始函数
	const start = (currentTime) => {
		time.value = currentTime;
		timer = setInterval(() => {
			if(time.value !== 0) time.value--;
		}, 1000)
	}
	
	// 组件销毁时清除定时器
	onUnmounted(() => {
		timer && clearInterval(timer)
	})

	return {
		formatTime,
		start,
	}
}